Computer processors are often used in conjunction with peripheral modules. These peripheral modules can perform dedicated tasks, allowing the processor to perform other tasks. The processor can oversee the operation of the peripheral modules. Further, in some situations the peripheral module can require access to a memory. Providing access to memory can be managed by the processor, but this requires undesirable overhead and use of processor time. Accordingly, some systems incorporate direct memory access modules to allow a peripheral module to access a memory directly. While direct memory access modules reduce processor overhead, the management of the direct memory access module by the processor still requires some processor time that could be used advantageously for other tasks.
Accordingly, there is a need for an improved method and system of providing direct memory access.